import MS_HolyFury from 'code/Scripts/Abilities/ClassAbility/Priest/MS_HolyFury';
import ClassAbilityManagerBase from './base/ClassAbilityManagerBase';
import MS_HolyHeal from 'code/Scripts/Abilities/ClassAbility/Priest/MS_HolyHeal';
import MS_HolyShield from 'code/Scripts/Abilities/ClassAbility/Priest/MS_HolyShield';
import MS_HolyShine from 'code/Scripts/Abilities/ClassAbility/Priest/MS_HolyShine';
import MS_HolyStrike from 'code/Scripts/Abilities/ClassAbility/Priest/MS_HolyStrike';
import MS_InsinuationBite from 'code/Scripts/Abilities/ClassAbility/Priest/MS_InsinuationBite';
import MS_InsinuationCrime from 'code/Scripts/Abilities/ClassAbility/Priest/MS_InsinuationCrime';
import MS_InsinuationPain from 'code/Scripts/Abilities/ClassAbility/Priest/MS_InsinuationPain';

declare global {
    var MSAbilities: PriestAbilityManager;
}

export default class PriestAbilityManager extends ClassAbilityManagerBase {
    MS_HolyFury: MS_HolyFury;
    MS_HolyHeal: MS_HolyHeal;
    MS_HolyShield: MS_HolyShield;
    MS_HolyShine: MS_HolyShine;
    MS_HolyStrike: MS_HolyStrike;
    MS_InsinuationBite: MS_InsinuationBite;
    MS_InsinuationCrime: MS_InsinuationCrime;
    MS_InsinuationPain: MS_InsinuationPain;
    constructor() {
        super();
        MSAbilities = this;

        this.MS_HolyFury = new MS_HolyFury('Asyn');
        this._abilities.set('Asyn', this.MS_HolyFury);

        this.MS_HolyHeal = new MS_HolyHeal('Asyy');
        this._abilities.set('Asyy', this.MS_HolyHeal);

        this.MS_HolyShield = new MS_HolyShield('Asyd');
        this._abilities.set('Asyd', this.MS_HolyShield);

        this.MS_HolyShine = new MS_HolyShine('Asya');
        this._abilities.set('Asya', this.MS_HolyShine);

        this.MS_HolyStrike = new MS_HolyStrike('Asgj');
        this._abilities.set('Asgj', this.MS_HolyStrike);

        this.MS_InsinuationBite = new MS_InsinuationBite('Aays');
        this._abilities.set('Aays', this.MS_InsinuationBite);

        this.MS_InsinuationCrime = new MS_InsinuationCrime('Aayz');
        this._abilities.set('Aayz', this.MS_InsinuationCrime);

        this.MS_InsinuationPain = new MS_InsinuationPain('Aayt');
        this._abilities.set('Aayt', this.MS_InsinuationPain);
    }
}
